#Amanda Alves Camargo
#7b. Exerccios de Regresso Mltipla

#Uma estimativa da incerteza na previso do modelo
#carregando os dados do exerccio
babies<-read.table("babies.txt",head=T,as.is=T,sep=" ")
babies

#peso em kgs
pesos<-babies$bwt*0.028
pesos

#nova coluna pesos
babiesn<-cbind(babies, pesos)
head(babiesn)

#tirando os dados faltantes
babies2 <- babiesn[babiesn$gestation<999 & babiesn$bwt<999,]

#plotando o grfico e verificando os parmetros
lmb <- lm(babies2$peso~babies2$gestation)
summary(lmb)
(intervalo <- confint(lmb))
(anova(lmb))
plot(lmb)
#sequncia de 100 valores de gestao
seqgest<- seq(from=148, to=353, length=100)

# desvios quadraticos totais
(desvquad<- babies2$gestation - mean(babies2$gestation))
(desvtot<-sum(desvquad^2))
(varia<-var(babies2$peso))
(mediagest<-mean(babies2$gestation))
(vn<-length(babies2$gestation))

#erro padrao
erro<-sqrt((varia*(1/vn) + ((seqgest -mediagest )^2)/desvtot))

#intervalo de confianca
ia=coef(lmb)[1]
ib=coef(lmb)[2]

qt1<-qt(0.95, vn-2)
up<-(ia+ib*seqgest)+erro*qt1
low<-(ia+ib*seqgest)-erro*qt1

#linhas no grafico
abline(lmb)
lines(up~seqgest)
lines(low~seqgest)
#############################################################################################################
#Galileu estava Certo?
#salvando os objetos
init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
h.d = c(253, 337, 395, 451, 495, 534, 573)

#primeiro modelo
modelo1 <- lm(h.d~init.h)
summary(modelo1)

#segundo modelo ajustado - segundo grau
modelo2 <- update(modelo1,.~. +I(init.h^2))
summary(modelo2)

#terceiro modelo ajustado - terceiro grau
modelo3 <- update(modelo2,.~. +I(init.h^3))
summary(modelo3)

#quarto modelo ajustado - quarto grau
modelo4 <- update(modelo3,.~. +I(init.h^4))
summary(modelo4)

#comparando modelos
anova(modelo1,modelo3)
anova(modelo2,modelo3)
anova(modelo3,modelo4)
library(knitr)
kable(anova(modelo1,modelo2,modelo3,modelo4),align="c",digits=4)

#Um polinmio de terceiro grau  a melhor maneira de descrever os dados do experimento de Galileu.
###########################################################################################################################
#Massa de Recm-Nascidos

#carregando os dados do exerccio
babies<-read.table("babies.txt",head=T,as.is=T,sep=" ")
babies

#retirando observaes com dados faltantes
bwt<-babies[babies$bwt!=999,]
gestation<-bwt[bwt$gestation!=999,]
parity<-gestation[gestation$parity!=9,]
age<-parity[parity$age!=99,]
height<-age[age$height!=99,]
weight<-height[height$weight!=999,]
babies2<-weight[weight$smoke!=9,]
babies2

babies2

#sentido biolgico
#gestation: age,height,weight,smoke
#parity: age
#height: age
#weight: age, height, smoke

#testando sentido biolgico
lm.b<-lm(bwt~gestation+parity+age+height+weight+smoke+gestation:age+gestation:height+
           gestation:weight+gestation:smoke+parity:age+height:age+weight:age+
           weight:height+weight:smoke,data=babies2)
summary(lm.b)

#modelo com valores significativos do modelo lm.b
mod1<-lm(bwt~gestation+parity+age+height+weight+smoke+
             gestation:age+gestation:weight+gestation:smoke,data=babies2)
summary(mod1)
anova(mod1)

#modelo com valores significativos do modelo mod1
mod2<-lm(bwt~gestation+parity+height+weight+smoke+gestation:age+
           gestation:smoke,data=babies2)
summary(mod2)
anova(mod2)

#modelo com valores significativos do modelo mod2
mod3<-lm(bwt~gestation+parity+height+weight+smoke+
              gestation:smoke,data=babies2)
summary(mod3)
anova(mod3)

#O modelo mod 3  o que melhor representa a previso da massa dos
#bebs ao nascer.
#variveis preditoras: gestao, paridade, altura, peso, fumante
#gestao e fumante
